Graphical user interfaces (GUIs) allow users to interact with electronic devices, such as computers and mobile devices, through graphical icons and visual indicators, as opposed to text-based interfaces, which rely on typed command labels or text navigation. GUIs have become the predominant mechanism to interface with electronic devices. GUIs may be built into an operating system of a device, but may also be built into individual applications running in the operating system. One such individual application is a web browser, which in combination with a web page accessed by the web browser via the Internet, can render a GUI within the GUI of the operating system in which the web browser is operating. While the web browser GUI operates within the confines of the operating system GUI, it is a separate GUI with its own distinct functionality.
It is sometimes desirable for a GUI to render multiple layers of information. For example, a web browser/web page combination may render a first layer depicting various pieces of information, and when the user selects one piece of information, it may be desirable to render a second layer of information to provide additional information on the selected piece of information. This second layer is sometimes called a “pop-up” (also known as a “pop-over”).
One issue that arises with such multiple layers is that the layers are often rendered as opaque, obscuring any layers below them. For example, a pop-up layer may completely cover any information in the first layer over which the pop-up layer is rendered. This can make it somewhat restrictive to design a web page or other GUI, as the programmer takes steps to ensure that whenever a pop-up layer is launched it is not rendered over any part of the first layer that cannot be hidden. This can be cumbersome as each individual page/screen of a GUI may have different information on it, in different locations, and with various degrees of importance.
Furthermore, it can be challenging for a user to switch back and forth between layers. Unlike windows displayed in an operating system GUI, which commonly are accompanied by tabs on the bottom of the GUI that the user can use to navigate to a window that is not currently visible on the display, there is no easy way for a user to navigate back and forth between layers in an application GUI. For example, while a user may be able to easily launch a pop-up layer by selecting a piece of information or graphical element on a first layer, the user must then close the pop-up layer to view or interact with the portion of the first layer that is beneath the pop-up layer. This can be cumbersome for the user.
What is needed is a solution that addresses these issues.